Field of the Invention
The present invention relates to an image processor, an image-processing method, and a program.
Description of the Related Art
It is known that a wide-angle lens such as a fish-eye lens has been used for video equipment, for example, a teleconference system or a monitoring camera. This is because such a wide-angle lens can provide a wide-angle image by a single lens.
The wide-angle lens has a large distortion rate at its edges due to a distortion property of a lens, and provides a distortional image. For this reason, it is known that an image process of correcting a distortion is often executed on an input image because a visibility of such an image is deteriorated.
As a method of achieving such an image process, a method of generating an output pixel by inputting a sub pixel value and a coordinate value of a corresponding input image with respect to each output pixel as deformation parameters, and performing interpolation calculation processes such as a bilinear interpolation process and a bicubic interpolation process to a specified input pixel is known.
Patent Literature 1 (JP 2013-187630A) describes an image processor which executes a distortion correction process with use of a reference parameter previously selected according to a region of a frame to be cut and stored in a reference parameter table memory, in order to improve process speed through a reduction in the number of accesses to an external memory by a reduction in reference parameter table capacity.
According to the image processor described in Patent Literature 1, the process speed of the distortion correction process can be improved.
DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory) is often used for a frame memory in which an input pixel obtained through a lens is temporally stored. However, the following problem occurs when a process of reading out an input pixel corresponding to an output pixel from DDR SDRAM is sequentially executed with respect to each output pixel. Namely, random access is executed to the DDR SDRAM, so that a significant process time is required. This problem becomes prominent especially in arbitrary image deformation.
On the other hand, there is a method of generating an output pixel by correction calculation. With this method, an output image is divided into a plurality of output image areas, and a part of a region (hereinafter referred to as reference image) of an input image required in each output image area is cut out, and the reference image is once loaded in a readable and writable SRAM (Static RAM) at high speed. After that, the output pixel is generated by the correction calculation.
However, the size of the reference image required for each output image area significantly differs due to the above-described distortion. For this reason, when the size of the reference image is large, such a reference image cannot be stored in a prepared SRAM. In this case, the correction is executed only with a part of an image stored in the SRAM, so that the quality of an output image after the correction is deteriorated.